To share printing services with non-Microsoft systems such as UNIX, NT has to have the capability to work with LPD. For NT to share printing with UNIX, it must act like a LPD. If you are working with Microsoft clients, no need to worry about this because Microsoft clients when attempting to print use the Server service in a NetBIOS network).
What is a Daemon?
A daemon is a utility program that runs on a TCP/IP server. These programs run in the background, performing services such as file transfers, printing, calculations, searching for information, and many other tasks. It is similar to a TSR program from DOS. Daemons are fully supported by UNIX.
Services that run on a UNIX system are called "daemon". For NT to integrate with a UNIX environment, Microsoft had to include the capability to print between these two platforms. The service that allows this to happen is TCP/IP Printing Service. TCP/IP Printing Service enables a connection to and use of the services of a UNIX system's printer (Using Print Manager) by creating an LPR (Line Printer Request) (page 427 of text) port that uses the daemon on the UNIX system for printing.
The LPD receives print jobs from LPR clients. The LPR clients are usually UNIX systems, however LPR software is included with most TCP/IP stacks.
By installing TCP/IP Printing Services any TCP/IP computer can print to a Windows NT printer.
The Print Process
- See process on pages 184 - 185 of text
NT Printing System
There are four main parts to NT Printing System (Print Drivers, Print Spooler, Print Processor, and Port Monitor)
Print Drivers
Broken down to three sections 1) Graphics driver, 2) printer interface, and 3) characterization data files
Graphics Driver
Is part of the print driver that works with the GDI to create the EMF file. It knows about the type of printer you are printing to. There are three main types of printers 1) raster, 2) PostScript, and 3) plotters.
- RASDD.DLL used with raster printers. A raster printer is the most common form of printer. These printers create their image in a series of dots.
- PSCRIPT.DLL these work with PostScript printers. These printers use a programming language to describe the page and how it will look using vectors. Vectors use starting point, direction, and distance to build the page out of a series of lines.
- PLOTTER.DLL is used with a plotter printer.
Printer Interface
Is the interface to the settings of the printer with which you are working. It reads information from the characterization file so that you know what options are available on the printer and then it enables you to set the options.
- RASDDUI.DLL used for raster printers
- PSCRIPTUI.DLL used for PostScripts printers
- PLOTUI.DLL used with plotter printers.
Characterization Data File
Provide the information for the printer interface so that it knows what the capabilities are. They also contain codes used to transform the EMF file to a printer-ready state.
Print Spooler
Is responsible for storing the print job on the hard disk and moving it through the various stages on the way to the printing device (printer). It runs as a service on NT and can be seen in the Services icon in Control Panel.
Print Processor
The printer needs to see the data as formatted printer data if it is to actually print the file. The processor (WINPRINT.DLL) handles the conversion between the different types of files. The processor handles the data types and can convert them to the data type the printer requires. (if this is a print server, the processing is handled on the server, not the client). This removes the burden off the client.
Port Monitor
Is the link between the logical printer that the users connect to and the physical printer where the paper comes out. The below list is some of the available port monitors:
- LOCALMON.DLL--handles any printer connected locally to computer (LPT1, COM1, etc) or any logical connections (net use lpt3:\\server\printer)
- LPRMON.DLL--enables you to connect to and use the services of a LPD server
- HPMON.DLL--used to communicate with HP JetDirect printers
- SFMMON.DLL--support for MAC computers to share files and printers.
- DECPSMON.DLL-- works with DEC network interface printers
- LEXMON.DLL--Lexmark Vision network printers
- PJLMON.DLL-- monitor used for any printers that follow the Printer Job Language communications standards
With the separation of the logical and physical printers, you can link several different logical printers to a single physical printer. This enables you to have different settings on the different logical printers and then use the same printing device. The flip side to this is you can connect several physical printers to the same logical printer, creating a printing pool, meaning that many different printing devices can accept jobs from one logical printer.
Creating a printer pool increases the number of pages-per-minute you can process without having to purchase very expensive high-end printers.
TCP/IP must be configured and running properly before installing TCP/IP Printing Services.
To install TCP/IP Printing Services
- Open Network Dialog box
- Click on Service Tab
- Choose Add (on service tab)
- Select Microsoft TCP/IP Printing Services from list and click OK
- Enter the directory for your source files
- Select Close, and Restart computer
The process of moving print files from the queue to the physical printing device in NT is handled by a monitor.
When you want to connect to a LPD server, you must create a printer (unless you want to redirect).
Configuring the LPR port on the Ports tab of the Printer properties (see pp. 190 - 191)
- Open Ports tab of Printer properties
- Choose Add Ports
- If TCP/IP Printing Services have been installed you will see LPR Port option,
- select this option and click on New Port button
- put in host name (or IP Address)
- enter name of printer and click ok
Sharing Your Printer Using LPD
LPD server is implemented as a service. There are two steps involved in sharing your printer using LPD services;
- Under Sharing tab of Printer properties select shared and type in share name: keep it simple and short (long filenames not accepted by all OS's)
- Once you've shared the printer, you need only to start the LPD service in services (see p. 192 fig 10.8)